<template>
  <tiny-user-link
    v-model="user"
    v-bind="service"
    :cache="true"
    cache-key="test-user"
    :cache-fields="['email']"
  ></tiny-user-link>
</template>

<script lang="jsx">
import { TinyUserLink } from '@opentiny/vue'

export default {
  components: {
    TinyUserLink
  },
  data() {
    return {
      user: '441047913162396',
      employeeNumber: '',
      service: {
        fetchW3Accounts: this.fetchW3Accounts,
        fetchUser: this.fetchUser,
        getUserImageUrl() {
          return Promise.resolve(`${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/dog1.png`)
        }
      }
    }
  },
  methods: {
    fetchW3Accounts(args) {
      return new Promise((resolve, reject) => {
        const result = [
          {
            programValidity: null,
            employeeNumber: '12345678',
            userType: 'HWE',
            currentRole: null,
            currentProgramIds: null,
            validRoles: null,
            defaultRole: null,
            coalitionPermission: false,
            endDate: '2017-10-26T11:48:56.000+0800',
            dept: null,
            userId: 441047913162396,
            userAccount: 'test3',
            userCN: 'test3',
            email: 'test3@test3.com',
            creationDate: '2015-01-06T09:38:41.000+0800',
            lastUpdateDate: '2017-10-10T15:13:28.000+0800',
            rowIdx: -1,
            creationUserCN: null,
            lastUpdateUserCN: null
          }
        ]

        this.employeeNumber = result[0].employeeNumber
        resolve(result)
      })
    },
    fetchUser() {
      return new Promise((resolve, reject) => {
        const result = {
          sex: 'M',
          l0_Name: 'SZ 技术',
          effective_Start_Date: '2011/10/14 00:00:00',
          l3_Dept_Code: '038384',
          person_Notes_Cn: 'test1 12345678',
          l2_Name: '信息技术工程部',
          short_Name: 'l12345678',
          effective_End_Date: '4712/12/31 00:00:00',
          person_Mail: '',
          name: '公共技术测试数据部门',
          location_second_area: 'Shenzhen',
          upper_Name: 'IT 技术架构与测试数据部',
          coa_Combination: '0021.000.0001.038759',
          l4_Name: '公共技术测试数据部门',
          english_Name: 'zhang san',
          dept_Code: '038759',
          employee_Number: '12345678',
          l0_Dept_Code: '022471',
          l2_Dept_Code: '023268',
          upper_Dept_Code: '038384',
          l1_Name: '测试数据部',
          location_country: 'China',
          l4_Dept_Code: '038759',
          start_Date: '2011/08/01 00:00:00',
          contract_Location_Code: '010400',
          l1_Dept_Code: '023093',
          contract_Location_Name: 'China\\Guangdong-Shenzhen',
          location_first_area: 'Guangdong',
          last_Name: '张三',
          language: 'CHN',
          l3_Name: '测试与测试数据部'
        }

        resolve(result)
      })
    }
  }
}
</script>
